/*
 * JVM_DataTypes.h
 *
 *  Created on: 04.01.2011
 *      Author: Tavin
 */

#ifndef JVM_DATATYPES_H_
#define JVM_DATATYPES_H_





#include <stdint.h>


typedef uint32_t JVM_HandleNumber_t;
#define HANDLE_NULL				0

	union data_value_32{

		int8_t byteValue;
		uint16_t charValue;
		int16_t shortValue;
		int32_t intValue;
		float floatValue;
		JVM_HandleNumber_t reference;
	};


	union data_value_64{
		int64_t longValue;
		double 	doubleValue;
	};


	union data_value
		{
		int8_t byteValue;
		uint16_t charValue;
		int16_t shortValue;
		int32_t intValue;
		float floatValue;
		JVM_HandleNumber_t reference;
		int64_t longValue;
		double 	doubleValue;
		};



/*
typedef uint8_t boolean;

#define TRUE		1
#define FALSE 		0

*/

#define T_RETURNVALUE	2

#define T_REFERENCE		3

#define T_BOOLEAN		4
#define T_CHAR			5
#define T_FLOAT			6
#define T_DOUBLE		7
#define T_BYTE			8
#define T_SHORT			9
#define T_INT			10
#define T_LONG			11


#endif /* JVM_DATATYPES_H_ */
